package cn.com.huzo.service.purchase;

import cn.com.huzo.model.entities.purchase.PoNoticeEntity;
import huzofw.service.GenericManager;
import java.util.List;

/**
 * 采购下单通知管理服务对象接口。
 *
 * @author 吴旭
 */
public interface PoNoticeManager extends GenericManager<PoNoticeEntity, String> {

    /**
     * 设置该通知的已阅状态
     *
     * @param poNoticeId 通知标识
     * @param mrpType 物料需求计划类型 0：主辅料 1：补料单
     * @return 影响行数
     * @throws Exception
     */
    Integer setReceiptedFlag(String poNoticeId, Short mrpType) throws Exception;

    /**
     * 设置采购担当自己负责部分的完成下单标记信息
     *
     * @param poNoticeId 通知标识
     * @param mrpType 物料需求计划类型 0：主辅料 1：补料单
     * @param overFlag 完成标记
     * @return
     * @throws java.lang.Exception
     */
    Integer setOverFlag(String poNoticeId, Short mrpType, String overFlag) throws Exception;

    /**
     * 根据所选采购担当生成采购下单通知记录。
     * <p>
     * @param itemList 所选用户
     *
     * @return 已通知的采购担当
     * @throws Exception
     */
    List<String> sendPoNotice(List<PoNoticeEntity> itemList) throws Exception;
}
